// 在TS语法中 定义了 class 不仅为当前项目的新对象构造
// 同时也是 对当前环境中类型的扩展
//  TS 中每一个 class 对象 都具有一个固定的执行方法constructor
//  该方法时用于在TS语法中描述当前class的构造函数
//  在构造函数中 this 指向于当前class对应的对象实例
//  如果构造函数中完成了 对对象的属性赋值操作，导致class中定义的默认值失效
var UserD = /** @class */ (function () {
    // constructor(name?:string){
    //     console.log("构造方法");
    //     this.name = name;
    // }
    function UserD(name) {
        if (name === void 0) { name = "tom"; }
        console.log("构造方法");
        this.name = name;
    }
    UserD.prototype.show = function (arg) {
        console.log("show:", arg);
    };
    return UserD;
}());
var u1 = new UserD();
console.log(u1 instanceof UserD);
console.log(u1.name);
u1.show("方法");
var u2 = new UserD("jack");
